package com.whfc.mach.manager;

import com.whfc.common.exception.BizException;
import com.whfc.mach.dto.strategy.MachStrategyDTO;
import com.whfc.mach.manager.strategy.oil.OilStrategy;
import com.whfc.mach.manager.strategy.work.WorkStrategy;

import java.util.List;

/**
 * @Description:
 * @author: xugcheng
 * @version: 1.0
 * @date: 2020-12-14 11:48
 */
public interface MachStrategyMgr {

    /**
     * 初始化项目策略
     *
     * @param deptId
     * @throws BizException
     */
    void initStrategy(Integer deptId) throws BizException;

    /**
     * 查询项目策略配置
     *
     * @param deptId
     * @return
     * @throws BizException
     */
    List<MachStrategyDTO> getStrategy(Integer deptId) throws BizException;

    /**
     * 查询项目策略配置
     *
     * @param deptId
     * @param machType
     * @return
     * @throws BizException
     */
    MachStrategyDTO getStrategy(Integer deptId, Integer machType) throws BizException;

    /**
     * 获取工时策略
     *
     * @param deptId
     * @param machType
     * @return
     * @throws BizException
     */
    WorkStrategy getWorkStrategy(Integer deptId, Integer machType) throws BizException;

    /**
     * 获取油位策略
     *
     * @param deptId
     * @param machType
     * @return
     * @throws BizException
     */
    OilStrategy getOilStrategy(Integer deptId, Integer machType) throws BizException;
}
